package persistent.dao;

import java.util.List;
import model.TCloudRole;

/**
 * 角色业务类接口
 * @author xzl
 *
 */
public interface CloudRoleDAO {

	/**
	 * 添加一个角色信息
	 * @param tRole 角色信息对象
	 * @return 成功返回角色主键，失败返回0
	 */
	public int addRole(TCloudRole tRole);
	
	/**
	 * 修改一个角色信息
	 * @param tRole 角色信息对象
	 * @return 成功返回true，失败返回false
	 */
	public boolean updateRole(TCloudRole tRole);
	
	/**
	 * 删除一个角色信息(真删除，谨慎操作)
	 * @param roleid 角色信息编号
	 * @return 成功返回true，失败返回false
	 */
	public boolean deleteRole(int roleid);
	
	/**
	 * 启用一个角色
	 * @param roleid 角色信息编号
	 * @return 成功返回true，失败返回false
	 */
	public boolean enable(int roleid);
	
	/**
	 * 停用一个角色
	 * @param roleid 角色信息编号
	 * @return 成功返回true，失败返回false
	 */
	public boolean disEnable(int roleid);
	
	/**
	 * 根据条件查询角色信息
	 * @param strWhere 查询条件
	 * @return 成功返回List的角色信息列表，失败返回null
	 */
	public List<TCloudRole> getRoleListByStrWhere(String strWhere);
	
	/**
	 * 根据条件分页查询角色信息
	 * @param strWhere 查询条件
	 * @param currentPage 当前页
	 * @param pageSize 每页条数
	 * @return 成功返回List的角色信息列表，失败返回null
	 */
	public List<TCloudRole> getRoleListByStrWherePage(String strWhere, int currentPage, int pageSize);
	
	/**
	 * 根据角色编号得到一条角色信息
	 * @param roleid 角色编号
	 * @return 成功返回TCloudRole的角色信息，失败返回null
	 */
	public TCloudRole getACloudRole(int roleid);
	
}
